package login;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.Scanner;

/*3)、使用TCP网络编程完成用户登录功能：客户端输入用户名和密码，向服务器发出登录请求；
服务器接收数据并进行判断，如果用户名和密码均是bjsxt，则登录成功，否则登录失败，返回相应响应信息；
客户端接收响应信息并输出登录结果。
(1) 用户User类已提供构造方法 public User(String username,String password)。
(2) 客户端采用ObjectOutputStream发送封装了用户名和密码的User对象。
*/
public class Intface {
    public static void main(String[] args) {
        Socket socket = null;
        BufferedReader br = null;
        ObjectOutputStream oos = null;
        Scanner input = new Scanner(System.in);
        User user = new User();
        String content = null;
        try {
            socket = new Socket("localhost",6248);
            System.out.print("请输入姓名：");
            user.setName(input.nextLine());
            System.out.print("请输入密码：");
            user.setPassword(input.nextLine());
            oos = new ObjectOutputStream(socket.getOutputStream());
            oos.writeObject(user);
            br = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
            while ((content = br.readLine()) != null){
                System.out.println(content);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (br != null) {
                try {
                    br.close();
                    br = null;
                    oos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
